#include "gdkenumtypes.h"
#include "gdkeventsprivate.h"
-typedef struct _GdkDragPrivate GdkDragPrivate;
-
-struct _GdkDragPrivate
-{
- GdkDisplay *display;
- GdkDevice *device;
- GdkContentFormats *formats;
- GdkDragAction actions;
- GdkDragAction suggested_action;
-};
-
static struct {
GdkDragAction action;
const gchar *name;
static guint signals[N_SIGNALS] = { 0 };
static GList *drags = NULL;
-G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GdkDrag, gdk_drag, G_TYPE_OBJECT)
+G_DEFINE_ABSTRACT_TYPE (GdkDrag, gdk_drag, G_TYPE_OBJECT)
/**
* SECTION:dnd
GdkDisplay *
gdk_drag_get_display (GdkDrag *drag)
{
- GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
-
g_return_val_if_fail (GDK_IS_DRAG (drag), NULL);
- return priv->display;
+ return drag->display;
}
/**
GdkContentFormats *
gdk_drag_get_formats (GdkDrag *drag)
{
- GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
-
g_return_val_if_fail (GDK_IS_DRAG (drag), NULL);
- return priv->formats;
+ return drag->formats;
}
/**
GdkDragAction
gdk_drag_get_actions (GdkDrag *drag)
{
- GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
-
g_return_val_if_fail (GDK_IS_DRAG (drag), 0);
- return priv->actions;
+ return drag->actions;
}
/**
GdkDragAction
gdk_drag_get_suggested_action (GdkDrag *drag)
{
- GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
-
g_return_val_if_fail (GDK_IS_DRAG (drag), 0);
- return priv->suggested_action;
+ return drag->suggested_action;
}
/**
{
g_return_val_if_fail (GDK_IS_DRAG (drag), 0);
- return drag->action;
+ return drag->selected_action;
}
/**
GdkDevice *
gdk_drag_get_device (GdkDrag *drag)
{
- GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
-
g_return_val_if_fail (GDK_IS_DRAG (drag), NULL);
- return priv->device;
+ return drag->device;
}
static void
GParamSpec *pspec)
{
GdkDrag *drag = GDK_DRAG (gobject);
- GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
switch (prop_id)
{
drag->content = g_value_dup_object (value);
if (drag->content)
{
- g_assert (priv->formats == NULL);
- priv->formats = gdk_content_provider_ref_formats (drag->content);
+ g_assert (drag->formats == NULL);
+ drag->formats = gdk_content_provider_ref_formats (drag->content);
}
break;
case PROP_DEVICE:
- priv->device = g_value_dup_object (value);
- g_assert (priv->device != NULL);
- priv->display = gdk_device_get_display (priv->device);
+ drag->device = g_value_dup_object (value);
+ g_assert (drag->device != NULL);
+ drag->display = gdk_device_get_display (drag->device);
break;
case PROP_FORMATS:
- if (priv->formats)
+ if (drag->formats)
{
GdkContentFormats *override = g_value_dup_boxed (value);
if (override)
{
- gdk_content_formats_unref (priv->formats);
- priv->formats = override;
+ gdk_content_formats_unref (drag->formats);
+ drag->formats = override;
}
}
else
{
- priv->formats = g_value_dup_boxed (value);
- g_assert (priv->formats != NULL);
+ drag->formats = g_value_dup_boxed (value);
+ g_assert (drag->formats != NULL);
}
break;
GParamSpec *pspec)
{
GdkDrag *drag = GDK_DRAG (gobject);
- GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
switch (prop_id)
{
break;
case PROP_DEVICE:
- g_value_set_object (value, priv->device);
+ g_value_set_object (value, drag->device);
break;
case PROP_DISPLAY:
- g_value_set_object (value, priv->display);
+ g_value_set_object (value, drag->display);
break;
case PROP_FORMATS:
- g_value_set_boxed (value, priv->formats);
+ g_value_set_boxed (value, drag->formats);
break;
case PROP_ACTION:
- g_value_set_flags (value, drag->action);
+ g_value_set_flags (value, drag->selected_action);
break;
default:
gdk_drag_finalize (GObject *object)
{
GdkDrag *drag = GDK_DRAG (object);
- GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
drags = g_list_remove (drags, drag);
g_clear_object (&drag->content);
- g_clear_pointer (&priv->formats, gdk_content_formats_unref);
+ g_clear_pointer (&drag->formats, gdk_content_formats_unref);
if (drag->source_surface)
g_object_unref (drag->source_surface);
GdkDragAction actions,
GdkDragAction suggested_action)
{
- GdkDragPrivate *priv = gdk_drag_get_instance_private (drag);
-
- priv->actions = actions;
- priv->suggested_action = suggested_action;
+ drag->actions = actions;
+ drag->suggested_action = suggested_action;
}
void
{
GdkCursor *cursor;
- if (drag->action == action)
+ if (drag->selected_action == action)
return;
- drag->action = action;
+ drag->selected_action = action;
cursor = gdk_drag_get_cursor (drag, action);
gdk_drag_set_cursor (drag, cursor);